return {
  {
    -- 图标库
    'nvim-tree/nvim-web-devicons',
  },

  {
    -- 多线程支持
    'nvim-lua/plenary.nvim',
  },

  {
    -- terminal
    'akinsho/toggleterm.nvim',
    event = 'VeryLazy',
    keys = {
      { '<C-h>', [[<Cmd>wincmd h<CR>]], mode = 't', buffer = 0 },
      { '<C-j>', [[<Cmd>wincmd j<CR>]], mode = 't', buffer = 0 },
      { '<C-k>', [[<Cmd>wincmd k<CR>]], mode = 't', buffer = 0 },
      { '<C-l>', [[<Cmd>wincmd l<CR>]], mode = 't', buffer = 0 },
    },
    config = require('plugins.config.tools.toggleterm'),
  },

  {
    -- 文件搜索
    'nvim-telescope/telescope.nvim',
    event = 'VeryLazy',
    keys = {
      {
        '<leader>ff',
        function()
          require('telescope.builtin').find_files()
        end,
        desc = 'Telescope find files',
      },
      {
        '<leader>fg',
        function()
          require('telescope.builtin').live_grep()
        end,
        desc = 'Telescope live grep',
      },
      {
        '<leader>fb',
        function()
          require('telescope.builtin').buffers()
        end,
        desc = 'Telescope buffers',
      },
      {
        '<leader>fh',
        function()
          require('telescope.builtin').help_tags()
        end,
        desc = 'Telescope help tags',
      },
      { '<C-x>u', '<cmd>Telescope undo<CR>', desc = 'Telescope undo tree' },
    },
    config = require('plugins.config.tools.telescope'),
    dependencies = {
      'nvim-lua/plenary.nvim',
      'debugloop/telescope-undo.nvim',
    },
  },

  {
    -- 目录树
    'nvim-tree/nvim-tree.lua',
    event = 'VeryLazy',
    keys = {
      { '<leader>tt', '<cmd>NvimTreeToggle<CR>', desc = 'Nvim-tree toggle' },
    },
    config = require('plugins.config.tools.nvim-tree'),
    dependencies = { 'nvim-tree/nvim-web-devicons' },
  },

  {
    -- 启动时间统计
    'dstein64/vim-startuptime',
    -- lazy-load on a command
    cmd = 'StartupTime',
  },

  {
    -- git信息
    'sindrets/diffview.nvim',
    cmd = { 'DiffviewOpen', 'DiffviewClose' },
    dependencies = {
      'nvim-lua/plenary.nvim',
    },
  },
}
